Increasingly, videoconferencing systems have begun to use packet-switched networks, such as the Internet, rather than circuit-switched networks, such as PSTN and ISDN. One problem with the use of packet-switched networks for videoconferencing is that all packet-switched networks will experience some degree of packet loss. Video quality is significantly impaired with even a modest packet loss.
Existing solutions to the problem of packet loss include the use of various error concealment techniques and picture refresh mechanisms. Though helpful, these techniques are often inadequate. They also are frequently integrated with specific video codecs, requiring the techniques to be re-invented for each advance in codec technology.
Packet-switched networks typically have at least two fundamental types of packet loss. Physical loss can occur when layers 1 and 2 of networks lose information that is not recovered. This type of loss is more common, for example, when radio links (e.g., WiFi networks such as 802.11a, 802.11b, 802.11g, and 802.11n) are employed. However, physical layer loss can occur on wired and fiber links as well. A second type of packet loss can result from network congestion.
To overcome this second type of packet loss, some videoconferencing devices employ various techniques of congestion avoidance. One such technique is described in U.S. patent application Ser. No. 10/305,485, entitled “System and Method for Dynamic Bandwidth Allocation for Videoconferencing in Lossy Packet Switched Systems,” filed Nov. 26, 2002, which is incorporated by reference in its entirety. Such technqiues may be referred to as “Dynamic Bandwidth Allocation” or “DBA.” These types of DBA algorithms inherently risk introducing packet loss whenever they attempt to increase the bandwidth, which can result in impaired media. Other types of congestion avoidance techniques include VCON's PacketAssist and other standards relating to either lost packet recovery or congestion control. For instance, RFC 2733 provides a method for lost packet recovery which employs XOR (parity) packets. RFC 3448 provides a method a unicast congestion control, as does RFC 4340.
Additionally, lost data recovery techniques such as forward erasure correction and forward error correction can be employed on layers 1 and 2 of networks. These techniques have also been used with stored media such as RAID disks and CDROMs/DVDs. 3GPP has recently standardized forward erasure correction. Forward error correction can also provided for video streams transmitted via H.320.
Heretofore, there has been no implementation integrating lost packet recovery (e.g., using forward erasure correction) with congestion avoidance. Described herein is an algorithm that includes such integration.